List DOS Games
Browse and discover all available classic DOS games like DOOM, Super Mario, and Duke Nukem 3D that you can play through the MCP DOS gaming server.
Instructions
List all available DOS games
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/list.ts:16-24 (handler)The handler function that executes the tool logic: lists keys from DOS_GAMES and returns formatted content.export default async function list() { const games = Object.keys(DOS_GAMES); return { content: [ { type: "text", text: JSON.stringify(games, null, 2) }, { type: "text", text: "To play a game, use the `open-dos` tool and pass the game key as argument." } ] }; }
- src/tools/list.ts:3-3 (schema)Empty schema indicating the tool takes no input parameters.export const schema = {}
- src/tools/list.ts:5-14 (registration)Metadata registration defining the tool's name, description, and annotations.export const metadata = { name: "List DOS Games", description: "List all available DOS games", annotations: { title: "List DOS games availables", readOnlyHint: true, destructiveHint: false, idempotentHint: true, }, }
- src/utils/game-utils.ts:7-74 (helper)Supporting data structure providing the list of DOS games used in the handler.export const DOS_GAMES: Record<string, { file: string; executable: string; title: string; cdnFile?: string; keys: KeyMapping[]; }> = { 'doom': { file: "upload/DOOM-@evilution.zip", executable: "./DOOM/DOOM.EXE", title: "DOOM", cdnFile: "https://js-dos.com/cdn/upload/DOOM-@evilution.zip", keys: [ { code: -1, key: 'No action' }, { code: 38, key: 'ArrowUp', text: 'Forward' }, { code: 40, key: 'ArrowDown', text: 'Back' }, { code: 37, key: 'ArrowLeft', text: 'Left' }, { code: 39, key: 'ArrowRight', text: 'Right' }, { code: 87, key: 'KeyW', text: 'Use' }, { code: 83, key: 'KeyS', text: 'Fire' }, { code: 65, key: 'KeyA', text: 'Strafe left' }, { code: 68, key: 'KeyD', text: 'Strafe right' }, { code: 13, key: 'Enter' }, ] }, 'super-mario': { file: "upload/mario-colin.zip", executable: "./Mario.exe", title: "Super Mario", cdnFile: "https://js-dos.com/cdn/upload/mario-colin.zip", keys: [ { code: -1, key: 'No action' }, { code: 37, key: 'ArrowLeft', text: 'Left' }, { code: 39, key: 'ArrowRight', text: 'Right' }, { code: 18, key: 'AltLeft', text: 'Jump' }, ] }, 'tetris': { file: "upload/Tetris-neozeed.zip", executable: "./", title: "Tetris", cdnFile: "https://js-dos.com/cdn/upload/Tetris-neozeed.zip", keys: [ { code: -1, key: 'No action' }, { code: 55, key: 'Digit7', text: 'Left' }, { code: 56, key: 'Digit8', text: 'Right' }, { code: 57, key: 'Digit9', text: 'Rotate' }, { code: 32, key: 'Space', text: 'Drop' }, { code: 13, key: 'Enter' }, ] }, 'duke3d': { file: "upload/Duke Nukem 3d-@digitalwalt.zip", executable: "./DUKE3D/DUKE3D.EXE", title: "Duke Nukem 3D", cdnFile: "https://js-dos.com/cdn/upload/Duke Nukem 3d-@digitalwalt.zip", keys: [ { code: -1, key: 'No action' }, { code: 38, key: 'ArrowUp', text: 'Forward' }, { code: 40, key: 'ArrowDown', text: 'Back' }, { code: 37, key: 'ArrowLeft', text: 'Left' }, { code: 39, key: 'ArrowRight', text: 'Right' }, { code: 17, key: 'ControlRight', text: 'Fire' }, { code: 65, key: 'KeyA', text: 'Jump' }, { code: 13, key: 'Enter' }, ] }, };